package io.ImageDownloader;
import java.io.IOException;
import java.util.*;

public class ImageManager {
    // 存储图片信息：key = 图片名称，value = 图片本地路径
    private Map<String, String> images = new HashMap<>();

    // 下载图片并保存到集合
    public void downloadImage(String url) {
        try {
            String fileName = url.substring(url.lastIndexOf("/") + 1); // 截取文件名
            String saveDir = "downloads"; // 保存目录
            FileUtils.ensureDirectoryExists(saveDir); // 确保目录存在
            String savePath = saveDir + "/" + fileName;

            // 调用工具类下载图片
            FileUtils.saveImage(url, savePath);

            // 保存到集合
            images.put(fileName, savePath);

            // 写日志
            FileUtils.appendLog(url, savePath);

            System.out.println("下载成功，保存路径：" + savePath);
        } catch (IOException e) {
            System.out.println("下载失败：" + e.getMessage());
        }
    }

    // 列出所有已下载图片
    public void listImages() {
        if (images.isEmpty()) {
            System.out.println("暂无已下载图片。");
        } else {
            System.out.println("=== 图片列表 ===");
            for (Map.Entry<String, String> entry : images.entrySet()) {
                System.out.println("图片名：" + entry.getKey() + " | 保存路径：" + entry.getValue());
            }
        }
    }

    // 根据图片名称搜索图片路径
    public void searchImage(String name) {
        if (images.containsKey(name)) {
            System.out.println("找到图片：" + name + "，保存路径：" + images.get(name));
        } else {
            System.out.println("未找到此图片。");
        }
    }
}
